// ==========================================================================
// GFast自动生成api操作代码。
// 生成日期：2024-04-24 10:28:09
// 生成路径: api/v1/business/venues.go
// 生成人：周志雄
// desc:演出场馆相关参数
// company:云南奇讯科技有限公司
// ==========================================================================

package business

import (
	"github.com/gogf/gf/v2/frame/g"
	commonApi "github.com/tiger1103/gfast/v3/api/v1/common"
	"github.com/tiger1103/gfast/v3/internal/app/business/model"
)

// VenuesSearchReq 分页请求参数
type VenuesSearchReq struct {
	g.Meta    `path:"/list" tags:"演出场馆" method:"get" summary:"演出场馆列表"`
	VenueName string `p:"venueName" dc:"场馆名称"` //场馆名称
	PageNum   int    `p:"pageNum" dc:"当前页码"`   //当前页码
	PageSize  int    `p:"pageSize" dc:"每页数"`   //每页数
	commonApi.Author
}

// VenuesSearchRes 列表返回结果
type VenuesSearchRes struct {
	g.Meta `mime:"application/json"`
	commonApi.ListRes
	List []*model.VenuesListRes `json:"list"`
}

// VenuesAddReq 添加操作请求参数
type VenuesAddReq struct {
	g.Meta `path:"/add" tags:"演出场馆" method:"post" summary:"演出场馆添加"`
	commonApi.Author
	VenueName string `p:"venueName" v:"required#场馆名称不能为空" dc:"场馆名称"`
}

// VenuesAddRes 添加操作返回结果
type VenuesAddRes struct {
	commonApi.EmptyRes
}

// VenuesEditReq 修改操作请求参数
type VenuesEditReq struct {
	g.Meta `path:"/edit" tags:"演出场馆" method:"put" summary:"演出场馆修改"`
	commonApi.Author
	Id        int    `p:"id" v:"required#主键ID不能为空" dc:"主键"`
	VenueName string `p:"venueName" v:"required#场馆名称不能为空" dc:"场馆名称"`
}

// VenuesEditRes 修改操作返回结果
type VenuesEditRes struct {
	commonApi.EmptyRes
}

// VenuesGetReq 获取一条数据请求
type VenuesGetReq struct {
	g.Meta `path:"/get" tags:"演出场馆" method:"get" summary:"获取演出场馆信息"`
	commonApi.Author
	Id int `p:"id" v:"required#主键必须" dc:"主键"` //通过主键获取
}

// VenuesGetRes 获取一条数据结果
type VenuesGetRes struct {
	g.Meta `mime:"application/json"`
	*model.VenuesInfoRes
}

// VenuesDeleteReq 删除数据请求
type VenuesDeleteReq struct {
	g.Meta `path:"/delete" tags:"演出场馆" method:"delete" summary:"删除演出场馆"`
	commonApi.Author
	Ids []int `p:"ids" v:"required#主键必须" dc:"主键ID列表"` //通过主键删除
}

// VenuesDeleteRes 删除数据返回
type VenuesDeleteRes struct {
	commonApi.EmptyRes
}

// 根据场馆ID查询座位列表
type GetSeatsByVenueIdReq struct {
	g.Meta  `path:"/getSeatsById" tags:"演出场馆" method:"get" summary:"根据场馆ID查询座位列表"`
	VenueId int `json:"venueId" dc:"场馆ID"`
}

type GetSeatsByVenueIdRes struct {
	Seats []SeatsVo `json:"seats"`
}

type SeatsVo struct {
	Id         int `json:"id" dc:"座位ID"`
	RowNumber  int `json:"rowNumber" dc:"行号"`
	SeatNumber int `json:"seatNumber" dc:"座位号"`
	TicketType int `json:"ticketType" dc:"票类型(1甲、2乙、3丙)"`
}
